package com.atguigu4.search_sort.exer3;

/**
 * ClassName: maopao
 * Description:
 *使用冒泡排序，实现整型数组元素的排序操作
 * 比如：int[] arr = new int[]{34,54,3,2,65,7,34,5,76,34,67};
 * @Author liu
 * @Create 2024/8/12 20:45
 * @Version 1.0
 */

public class maopao {
    public static void main(String[] args) {
        int[] arr = new int[]{34,54,3,2,65,7,34,5,76,34,67};
        //遍历
        for (int i = 0; i <arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
        // 使用冒泡排序算法对数组进行排序
        // 外层循环控制排序轮数，每轮找到一个最大元素的位置
        for (int i = 0; i < arr.length - 1; i++) {
            // 内层循环用于比较相邻元素并进行交换
            // 随着每轮排序完成，未排序部分的长度减少，因此循环次数也相应减少
            for (int j = 0; j < arr.length - 1 - i; j++) {
                // 如果当前元素大于下一个元素，则交换它们的位置
                // 这样可以确保每次内层循环结束后，未排序部分中的最大元素被放置在正确的位置
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }

        System.out.println();
        for (int i = 0; i <arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
    }
}
